#include <cstdlib>
#include <iostream>
#include "busca.h"
#include "DFS.h"
#include "melhorEscolha.h"
#include "bfs.h"
#include "subidaEncosta.h"
#include "feixe.h"

int main(int argc, char *argv[])
{
    Busca* busca;

    char tipoBusca;

    std::cout << "entre com o tipo de busca [d:DFS|b:BFS|s:Subida de Encosta|f:feixe|m:Melhor Escolha]: ";
    std::cin >> tipoBusca;

    switch(tipoBusca)
    {
        case 'd':
            busca = new DFS();
            break;

        case 'b':
            busca = new BFS(0,7);
            break;

        case 's':
            busca = new SubidaEncosta();
            break;

        case 'f':
            busca = new Feixe(0,7);
            break;
            
        case 'm':
            busca = new MelhorEscolha(0,7);
            break;

        default:
            busca = new DFS();
            break;
    }

    busca->retornaCaminho();

    return EXIT_SUCCESS;
}
